A
The answer can be found at the bottom of the description of T_DATA_REQ (7tpi) in Appendix A-2 of
STREAMS Modules and Drivers (Unix Press, ISBN 0-13-066879-6):
The transport provider must also recognize a message of one or more M_DATA message blocks without the leading M_PROTO message block as a T_DATA_REQ primitive. This message type will be initiated from the write (BA_OS) operating system service routine.
OT deliberately uses this variant behavior as an optimization. By using M_DATA, OT avoids allocating a buffer for the M_PROTO header. As every memory allocation takes time, avoiding this one makes the system faster.
This behavior isn't seen on expedited data, because the specification doesn't allow for this optimization on T_EXDATA_REQ.